package cn.tedu.boot08.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/5/15 15:57
 * @Package 包名：cn.tedu.boot08.controller
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
@RestController
public class UploadController {
	@RequestMapping("/upload")
	public String upload(MultipartFile picFile) throws IOException {
		//得到文件的原始文件名
		String fileName = picFile.getOriginalFilename();
		System.out.println(fileName);
		//得到文件的后缀名   。jpg
		String suffix = fileName.substring(fileName.lastIndexOf("."));
		//得到唯一文件名
		//UID.randomUUID()得到一个由16进制组成的一个唯一标识符
		fileName = UUID.randomUUID()+suffix;
		System.out.println("fileName = " + fileName);
		String dirPath = "D:/IDEA/files";
		//准备日期路径yyyy年MM月dd日   HH小时    mm分钟   ss秒  /2023/05/15
		SimpleDateFormat format = new SimpleDateFormat("/yyyy/MM/dd/");
		//new Date() 导包java.util 得到的是当前的系统时间
		String datePath = format.format(new Date());
		File dirFile = new File(dirPath+datePath);
		//判断如果文件夹不存在
		if (!dirFile.exists()){
			//创建文件夹
			dirFile.mkdirs();
		}
		//得到文件的完整路径   D:/图片/2023/05/15/xxx.jpg
		String filePath = dirPath+datePath+fileName;
		//把接收到的文件保存到上面的路径  异常抛出
		picFile.transferTo(new File(filePath));
		//把图片的路径响应给客户端，因为删除时会用到
		return datePath+fileName;
	}
	@RequestMapping("/remove")
	public void remove(String url){
		System.out.println("url = " + url);
		File file = new File("D:/IDEA/files"+url);
		file.delete();
	}
}
